Make sure to cmpxchg entire pte on emulated ptwr path.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Thu, 18 Aug 2005 18:17:08 +0000 (18:17 +0000)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Thu, 18 Aug 2005 18:17:08 +0000 (18:17 +0000)
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/arch/x86/mm.c

index 08a6a15dcbee5304a73da2c04429c348758f458f..635c42d0b9f8641e2cbec0ccbf16fc8dd8f1d068 100644 (file)
@@ -3115,7 +3115,7 @@ static int ptwr_emulated_update(
     if ( do_cmpxchg )
     {
         ol1e = l1e_from_intpte(old);
-        if ( cmpxchg((unsigned long *)pl1e, old, val) != old )
+        if ( cmpxchg((intpte_t *)pl1e, old, val) != old )
         {
             unmap_domain_page(pl1e);
             put_page_from_l1e(nl1e, d);